import { CreepExtension } from './creep'
import { PowerCreepExtension } from './powerCreep'
import { RoomExtension } from './room'
import RoomPostionExtension from './roomPosition/extension'
import SourceExtension from './source/extension'
import { ContainerExtension, ControllerExtension, FactoryExtension, LabExtension, LinkExtension, RampartExtension, SpawnExtension, StorageExtension, StructuresExtension, TerminalExtension, WallExtension } from './structures'

/**
 * 所有需要挂载的原型拓展
 */
export const mountList: [ AnyClass, AnyClass ][] = [
    [ Room, RoomExtension ],
    // 挂载各个模块的手操接口
    // [ Room, RoomConsole ],
    // [ Room, FactoryConsole ],
    // [ Room, TerminalConsole ],
    // [ Room, StorageConsole ],
    // [ Room, ShareConsole ],
    // [ Room, ObserverConsole ],
    // [ Room, RemoteConsole ],
    // [ Room, LabConsole ],
    //
    // 业务模块拓展挂载
    [ RoomPosition, RoomPostionExtension ],
    [ Source, SourceExtension ],
    [ Creep, CreepExtension ],
    [ PowerCreep, PowerCreepExtension ],
    [ Structure, StructuresExtension ],
    [ StructureController, ControllerExtension ],
    [ StructureSpawn, SpawnExtension ],
    // [ StructureTower, TowerExtension ],
    [ StructureLink, LinkExtension ],
    // [ StructureLink, LinkConsole ],
    [ StructureFactory, FactoryExtension ],
    [ StructureTerminal, TerminalExtension ],
    // [ StructureExtractor, ExtractorExtension ],
    [ StructureStorage, StorageExtension ],
    [ StructureLab, LabExtension ],
    // [ StructureNuker, NukerExtension ],
    // [ StructurePowerSpawn, PowerSpawnExtension ],
    // [ StructurePowerSpawn, PowerSpawnConsole ],
    // [ StructureObserver, ObserverExtension ],
    [ StructureWall, WallExtension ],
    [ StructureRampart, RampartExtension ],
    [ StructureContainer, ContainerExtension ]
]
